E) Object Slicing

Slicing
자식 클래스 오브젝트를 부모클래스의 오브젝트에 할당하는 경우, 발생
#include <iostream>
using namespace std;
class Base{
public:
void printBase(){
cout<<"print Base"<<endl;
}
};
class Child: public Base{
public:
void printChild(){
cout<<"print Base<"<<endl;
}
};
int main(void){
Child* childPtr=new Child();
Base* basePtr=childPtr;
cout<<"childPtr: "<<childPtr<<", basePtr: "<<basePtr<<endl;
childPtr->printBase(); //
childPtr->printChild(); //
basePtr->printBase(); //
// basePtr->printChild(); //
}
동일한 객체를 가르키지만, basePtr은 child 에 대한 정보를 잃어 버린다.